home
***
CD-ROM
|
disk
|
FTP
|
other
***
search
/
Workbench Add-On
/
Workbench Add-On - Volume 1.iso
/
Dev
/
Oberon
/
source
/
amiga
/
KeyMap.mod
< prev
next >
Wrap
Text File
|
1995-06-29
|
2KB
|
85 lines
(**************************************************************************
$RCSfile: KeyMap.mod $
Description: Keymap definitions
Created by: fjc (Frank Copeland)
$Revision: 3.8 $
$Author: fjc $
$Date: 1995/06/04 23:13:14 $
$VER: keymap.h 36.3 (13.4.90)
Includes Release 40.15
(C) Copyright 1985-1993 Commodore-Amiga, Inc.
All Rights Reserved
Oberon-A interface Copyright © 1994-1995, Frank Copeland.
This file is part of the Oberon-A Interface.
See Oberon-A.doc for conditions of use and distribution.
***************************************************************************)
<* STANDARD- *>
MODULE [2] KeyMap;
IMPORT e := Exec, s := Sets;
(*
** key map definitions for keymap.resource, keymap.library, and
** console.device
*)
TYPE
KeyMapPtr* = POINTER TO KeyMap;
KeyMap* = RECORD
loKeyMapTypes * : POINTER TO ARRAY 64 OF s.SET8;
loKeyMap * : POINTER TO ARRAY 64 OF e.ULONG;
loCapsable * : POINTER TO ARRAY 8 OF s.SET8;
loRepeatable * : POINTER TO ARRAY 8 OF s.SET8;
hiKeyMapTypes * : POINTER TO ARRAY 64 OF s.SET8;
hiKeyMap * : POINTER TO ARRAY 64 OF e.ULONG;
hiCapsable * : POINTER TO ARRAY 8 OF s.SET8;
hiRepeatable * : POINTER TO ARRAY 8 OF s.SET8;
END; (* KeyMap *)
KeyMapNodePtr* = POINTER TO KeyMapNode;
KeyMapNode* = RECORD (e.NodeBase)
node * : e.Node; (* including name of keymap *)
keyMap * : KeyMap;
END; (* KeyMapNode *)
KeyMapResourcePtr* = POINTER TO KeyMapResource;
KeyMapResource* = RECORD (e.NodeBase)
node * : e.Node;
list * : e.List; (* a list of KeyMapNodes *)
END; (* KeyMapResource *)
CONST
(* Key Map Types *)
shift * = 0;
alt * = 1;
control * = 2;
downUp * = 3;
dead * = 5; (* may be dead or modified by dead key: *)
(* use dead prefix bytes *)
string * = 6;
nop * = 7;
noQual * = {};
vanilla * = -{shift, alt, control}; (* note that SHIFT+ALT+CTRL is VANILLA *)
(* Dead Prefix Bytes *)
dpbMod * = 0;
dpbDead* = 3;
dp2dIndexMask * = 0FH; (* mask for index for 1st of two dead keys *)
dp2dFacShift * = 4; (* shift for factor for 1st of two dead keys *)
END KeyMap.